#ifndef eq_hpp
#define eq_hpp

#include <vector>
#include "item.hpp"
#include "main.hpp"
#include <allegro.h>

class cItemResources
{
    public:
        std::vector <cItemInfo> item;
        BITMAP * img;

        cItemResources() {img = load_bmp("GFX\\items.bmp", default_palette);};
        ~cItemResources() {destroy_bitmap(img);};
};

class cEQ
{
    private:
        BITMAP * img;
        BITMAP * chooseitem; //bitmapa "otoczki" itemu wybranego
        cItemResources * info;//informacje o itemach
        int clipboarditem[4]; //0 ID ; 1 ILOSC
        sPoint * active; // ostatnio kliknieta pozycja myszy. Zabezpieczenie przed "miganiem" itemu podczas przenoszenia
        int lastclicked[4]; // tablica. Zawiera ostatnio klikniete X i Y itemow. Trzeba wiedziec gdzie zamieniac
        int itemCount(int id);
        bool itemExist(int id);
        sPoint itemGetPos(int id);

	public:
        cItem *** item;
        sPoint * size;
        sPoint * pos;//pozycja EQ
        sPoint * onItem;//na jakim itemku sie znajduje
        bool isDrawing;

		cEQ(int x, int y, int w, int h, cItemResources * resPointer);
		~cEQ();
        void drawItemInfo(BITMAP * bufor);
        void choose(int mousex, int mousey);
        void checkUse();
        void manage(bool & mouseFree);
        sPoint getFreeSpace();

		void itemAdd(int id, int count = 1);
		cItem itemAdd(int x, int y, int id, int count);
		cItem itemPull(int id, int count = -1);
		cItem itemPullXY(int x, int y, int count = -1);
		void itemSell(int x, int y, int dx, int dy, cEQ * npcEQ);
		void itemBuy(int x, int y, int dx, int dy, cEQ * npcEQ);

		void draw(BITMAP * bufor, int x = -1, int y = -1);
};


























#endif
